

set more off
mat drop _all


use "$path_data/data/temp/attrition_check.dta", clear




*** Test for DT
preserve
gen missing_DT = 0
replace missing_DT = 1 if DT_per_min_pre == .
egen mean_DT_per_min_pre = mean(DT_per_min_pre)
replace DT_per_min_pre = mean_DT_per_min_pre if DT_per_min_pre == .
egen mean_DT_time_pre = mean(DT_time_pre)
replace DT_time_pre = mean_DT_time_pre if DT_time_pre == .
egen mean_DT_score_pre = mean(DT_score_pre)
replace DT_score_pre = mean_DT_score_pre if DT_score_pre == .
drop if DT_per_min_post == .






foreach j in n mean sd {
tabstat DT_per_min_pre DT_score_pre DT_time_pre DT_per_min_post DT_score_post DT_time_post if treatment == 1, stat(`j') save
matrix list r(StatTotal)
matrix `j'_tr1_DT = r(StatTotal)
}

foreach j in n mean sd {
tabstat DT_per_min_pre DT_score_pre DT_time_pre DT_per_min_post DT_score_post DT_time_post if treatment == 0, stat(`j') save
matrix list r(StatTotal)
matrix `j'_ct1_DT = r(StatTotal)
}



matrix n_dif1_DT = J(1,6,.)
forvalues i = 1/6 {
	matrix n_dif1_DT[1,`i'] = n_tr1_DT[1,`i'] + n_ct1_DT[1,`i']
}


matrix mean_dif1_DT = J(1,6,.)
forvalues i = 1/6 {
	matrix mean_dif1_DT[1,`i'] = mean_tr1_DT[1,`i'] - mean_ct1_DT[1,`i']
}


foreach dep in DT_per_min_pre DT_score_pre DT_time_pre DT_per_min_post DT_score_post DT_time_post {
	foreach s in mean se pv obs wpv {
		matrix r1_`dep'_`s' = J(1,2,.)
	}

	reg `dep' treatment, cluster(school_no)
	
	matrix r1_`dep'_temp = r(table)
	matrix r1_`dep'_r1 = e(r2)
	matrix r1_`dep'_obs = e(N)


	foreach j in 1 2 {
	* beta
	matrix r1_`dep'_mean[1,`j'] = r1_`dep'_temp[1,`j']
	* standard error
	matrix r1_`dep'_se[1,`j'] = r1_`dep'_temp[2,`j']
	* p value
	matrix r1_`dep'_pv[1,`j'] = r1_`dep'_temp[4,`j']
	}


	
	
	
	cgmwildboot_2 `dep' treatment, cluster(school_no) bootcluster(school_no) null(0) reps(999) seed(1)
	matrix m1_`dep'_p = e(Pvals)
	matrix m1_`dep'_b = e(b)
	matrix m1_`dep'_v = e(V)
}









restore








*** Test for DT
preserve
gen missing_DT = 0
replace missing_DT = 1 if DT_per_min_pre == .
egen mean_DT_per_min_pre = mean(DT_per_min_pre)
replace DT_per_min_pre = mean_DT_per_min_pre if DT_per_min_pre == .
egen mean_DT_time_pre = mean(DT_time_pre)
replace DT_time_pre = mean_DT_time_pre if DT_time_pre == .
egen mean_DT_score_pre = mean(DT_score_pre)
replace DT_score_pre = mean_DT_score_pre if DT_score_pre == .
drop if DT_per_min_post == .






foreach dep in DT_per_min_pre DT_score_pre DT_time_pre DT_per_min_post DT_score_post DT_time_post {
	foreach s in mean se pv obs wpv {
		matrix r2_`dep'_`s' = J(1,2,.)
	}

	reg `dep' treatment wrongDT, cluster(school_no)
	
	matrix r2_`dep'_temp = r(table)
	matrix r2_`dep'_r1 = e(r2)
	matrix r2_`dep'_obs = e(N)


	foreach j in 1 2 {
	* beta
	matrix r2_`dep'_mean[1,`j'] = r2_`dep'_temp[1,`j']
	* standard error
	matrix r2_`dep'_se[1,`j'] = r2_`dep'_temp[2,`j']
	* p value
	matrix r2_`dep'_pv[1,`j'] = r2_`dep'_temp[4,`j']
	}


	
	
	
	cgmwildboot_2 `dep' treatment wrongDT, cluster(school_no) bootcluster(school_no) null(0 .) reps(999) seed(1)
	matrix m2_`dep'_p = e(Pvals)
	matrix m2_`dep'_b = e(b)
	matrix m2_`dep'_v = e(V)
}









restore






















forvalues j = 1/2 {

foreach dep in DT_per_min_pre DT_score_pre DT_time_pre DT_per_min_post ///
DT_score_post DT_time_post  {


forvalues item = 1/1 {
		forvalues scale = 1/1 {
		if m`j'_`dep'_p[`item', `scale']<=0.01 {
			local s_`j'_`dep'_`item'`scale' %3s "***"
		}
		else if (m`j'_`dep'_p[`item', `scale']>0.01) & (m`j'_`dep'_p[`item', `scale']<=0.05) {
			local s_`j'_`dep'_`item'`scale' %2s "**"
		}
		else if (m`j'_`dep'_p[`item', `scale']>0.05) & (m`j'_`dep'_p[`item', `scale']<=0.10) {
			local s_`j'_`dep'_`item'`scale' %1s "*"
		}
		else {
			local s_`j'_`dep'_`item'`scale'  ""
		}
	} // forvalues `scale' loop

}  // forvalues `item' loop


} // foreach `dep' loop

} // forvalues `j' loop




tempname hh2
file open `hh2' using "$pardir/tableD2.tex", write replace
file write `hh2' "" _newline
file write `hh2' "% Date: `c(current_date)'" _newline
file write `hh2' "% Time: `c(current_time)'" _newline
file write `hh2' "" _newline


file write `hh2' "\begin{table}[t!]\footnotesize" _newline
file write `hh2' "  \centering" _newline
file write `hh2' "  \caption{Baseline Balance Test Results (ANCOVA Sample) with Wrong DT as Missing}" _newline
file write `hh2' "\label{tab:summary_dt_time_comparison}" _newline
file write `hh2' "\scalebox{0.9}{" _newline
file write `hh2' "\begin{threeparttable}" _newline

file write `hh2' "\begin{tabular}{lcccc}\toprule\midrule" _newline




*file write `hh2' "\cmidrule{2-5} & &&&      \\" _newline



file write `hh2' " \multicolumn{5}{l}{}   \\" _newline

file write `hh2' " \multicolumn{5}{l}{\textbf{Panel A: Balance Test}}   \\\midrule" _newline



file write `hh2' " Dependent Variable & Treatment &  Control  & Coefficient & N   \\\midrule" _newline


file write `hh2' "    DT Score per min\textsuperscript{a}   & " %04.3f (mean_tr1_DT[1,1]) " &   " %04.3f (mean_ct1_DT[1,1]) " & " %04.3f (r1_DT_per_min_pre_mean[1,1]) `s_1_DT_per_min_pre_11' " & " (n_dif1_DT[1,1]) " \\" _newline
file write `hh2' "    									    & [" %04.3f (sd_tr1_DT[1,1]) "] &   [" %04.3f (sd_ct1_DT[1,1]) "] & (" %04.3f (r1_DT_per_min_pre_se[1,1])             ") &                     \\" _newline


file write `hh2' "    DT Score                              & " %04.3f (mean_tr1_DT[1,2]) " &   " %04.3f (mean_ct1_DT[1,2]) " & " %04.3f (r1_DT_score_pre_mean[1,1]) `s_1_DT_score_pre_11' " & " (n_dif1_DT[1,2]) " \\" _newline
file write `hh2' "    									    & [" %04.3f (sd_tr1_DT[1,2]) "] &   [" %04.3f (sd_ct1_DT[1,2]) "] & (" %04.3f (r1_DT_score_pre_se[1,1])             ") &                     \\" _newline


file write `hh2' "    DT Time                               & " %04.3f (mean_tr1_DT[1,3]) " &   " %04.3f (mean_ct1_DT[1,3]) " & " %04.3f (r1_DT_time_pre_mean[1,1]) `s_1_DT_time_pre_11' " & " (n_dif1_DT[1,3]) " \\" _newline
file write `hh2' "    									    & [" %04.3f (sd_tr1_DT[1,3]) "] &   [" %04.3f (sd_ct1_DT[1,3]) "] & (" %04.3f (r1_DT_time_pre_se[1,1])             ") &                     \\\midrule" _newline



file write `hh2' " \multicolumn{5}{l}{}   \\" _newline


file write `hh2' " \multicolumn{5}{l}{\textbf{Panel B: Regression Result with the Dummy for the Wrong DT}}   \\\midrule" _newline

file write `hh2' " Dependent Variable &  &   & Coefficient & N   \\\midrule" _newline



file write `hh2' "    DT Score per min\textsuperscript{a}   &  &   & " %04.3f (r2_DT_per_min_pre_mean[1,1]) `s_2_DT_per_min_pre_11' " & " (r2_DT_per_min_pre_obs[1,1]) " \\" _newline
file write `hh2' "    									    &  &  & (" %04.3f (r2_DT_per_min_pre_se[1,1])             ") &                     \\" _newline


file write `hh2' "    DT Score                              &  &  & " %04.3f (r2_DT_score_pre_mean[1,1]) `s_2_DT_score_pre_11' " & " (r2_DT_score_pre_obs[1,1]) " \\" _newline
file write `hh2' "    									    &  &   & (" %04.3f (r2_DT_score_pre_se[1,1])             ") &                     \\" _newline


file write `hh2' "    DT Time                               &  &   & " %04.3f (r2_DT_time_pre_mean[1,1]) `s_2_DT_time_pre_11' " & " (r2_DT_time_pre_obs[1,1]) " \\" _newline
file write `hh2' "    									    & &   & (" %04.3f (r2_DT_time_pre_se[1,1])             ") &                     \\\midrule \bottomrule" _newline









file write `hh2' "\end{tabular}" _newline
file write `hh2' "\begin{tablenotes}" _newline
file write `hh2' "\item Notes: Standard deviations are shown in brackets. Asymptotic standard errors are shown in parentheses and are clustered at the school level." _newline

file write `hh2' "\item \textsuperscript{a}: DT Score per min stands for math Diagnostic Test scores per minute." _newline

file write `hh2' "\item \textsuperscript{b}: PTSII-C Score stands for the math proficiency test scores." _newline
file write `hh2' "\item \textsuperscript{c}: The Proficiency Test of Self Learning is based on 27 survey questions, of which ten are consistent with the Children's Perceived Competence Scale (CPCS Index) and eight with the Rosenberg Self-Esteem Scale (RSES Index). For each of the non-cognitive type questions, see Appendix~\ref{AppB}." _newline
file write `hh2' "\end{tablenotes}" _newline
file write `hh2' "\end{threeparttable}" _newline
file write `hh2' "}" _newline
file write `hh2' "\label{tab:addlabel}%" _newline
file write `hh2' "\end{table}" _newline

file write `hh2' "" _newline
file write `hh2' "" _newline
file write `hh2' "" _newline
file write `hh2' "" _newline

file close `hh2'


